﻿2026-06-04T06:03:51.3558277Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T06:03:51.3558961Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T06:03:51.3583563Z shell: /usr/bin/bash -e {0}
2026-06-04T06:03:51.3584059Z ##[endgroup]
2026-06-04T06:03:51.3787072Z Requirement quality findings (17); 129 requirements queued for agent review:
2026-06-04T06:03:51.3789843Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3792703Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-04T06:03:51.3794917Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T06:03:51.3797565Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3800196Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3802041Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T06:03:51.3803880Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T06:03:51.3806383Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3808888Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3811145Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T06:03:51.3812836Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-04T06:03:51.3814175Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T06:03:51.3815638Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T06:03:51.3817759Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3820163Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T06:03:51.3821626Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T06:03:51.3822964Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T06:03:51.3822987Z 
2026-06-04T06:03:51.3823485Z # Requirement quality review
2026-06-04T06:03:51.3823505Z 
2026-06-04T06:03:51.3824626Z You are reviewing 129 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T06:03:51.3825771Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T06:03:51.3826939Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T06:03:51.3828007Z this command's output. Your task is the rubric items below.
2026-06-04T06:03:51.3828031Z 
2026-06-04T06:03:51.3828447Z ## Rubric
2026-06-04T06:03:51.3828465Z 
2026-06-04T06:03:51.3830190Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T06:03:51.3831380Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T06:03:51.3832421Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T06:03:51.3833112Z - **active-voice** — clear subject and active verb.
2026-06-04T06:03:51.3833133Z 
2026-06-04T06:03:51.3834295Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T06:03:51.3834728Z clear concerns.
2026-06-04T06:03:51.3834747Z 
2026-06-04T06:03:51.3835181Z ## Requirements
2026-06-04T06:03:51.3835488Z 
2026-06-04T06:03:51.3835935Z ### REQ-ARCH-1
2026-06-04T06:03:51.3836531Z - Title: Many small acyclically-layered crates
2026-06-04T06:03:51.3837030Z - Required stages: impl
2026-06-04T06:03:51.3837049Z 
2026-06-04T06:03:51.3837460Z ### REQ-ARCH-2
2026-06-04T06:03:51.3838282Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T06:03:51.3838749Z - Required stages: impl
2026-06-04T06:03:51.3838770Z 
2026-06-04T06:03:51.3839234Z ### REQ-ARCH-3
2026-06-04T06:03:51.3840652Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T06:03:51.3841130Z - Required stages: impl, unit
2026-06-04T06:03:51.3841152Z 
2026-06-04T06:03:51.3841575Z ### REQ-ARCH-4
2026-06-04T06:03:51.3842453Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T06:03:51.3842932Z - Required stages: impl, unit
2026-06-04T06:03:51.3842950Z 
2026-06-04T06:03:51.3843375Z ### REQ-DAEMON-1
2026-06-04T06:03:51.3844205Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T06:03:51.3844728Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3844745Z 
2026-06-04T06:03:51.3845190Z ### REQ-DAEMON-2
2026-06-04T06:03:51.3845839Z - Title: Broker/brain split for seamless self-update
2026-06-04T06:03:51.3846346Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3846365Z 
2026-06-04T06:03:51.3846791Z ### REQ-DAEMON-3
2026-06-04T06:03:51.3847566Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T06:03:51.3848058Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3848086Z 
2026-06-04T06:03:51.3848501Z ### REQ-DAEMON-4
2026-06-04T06:03:51.3849077Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T06:03:51.3849899Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3849918Z 
2026-06-04T06:03:51.3850345Z ### REQ-STORE-1
2026-06-04T06:03:51.3855855Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-04T06:03:51.3856374Z - Required stages: impl, unit
2026-06-04T06:03:51.3856392Z 
2026-06-04T06:03:51.3856830Z ### REQ-MANIFEST-1
2026-06-04T06:03:51.3857794Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T06:03:51.3858301Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.3858323Z 
2026-06-04T06:03:51.3858761Z ### REQ-SEAM-SPAWN
2026-06-04T06:03:51.3859260Z - Title: spawn-session seam
2026-06-04T06:03:51.3860097Z - Required stages: impl, unit
2026-06-04T06:03:51.3860116Z 
2026-06-04T06:03:51.3860557Z ### REQ-SEAM-POSTSPAWN
2026-06-04T06:03:51.3861203Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T06:03:51.3861682Z - Required stages: impl, unit
2026-06-04T06:03:51.3861714Z 
2026-06-04T06:03:51.3862156Z ### REQ-SEAM-PSYCHE
2026-06-04T06:03:51.3862828Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T06:03:51.3863335Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3863353Z 
2026-06-04T06:03:51.3863798Z ### REQ-SEAM-HISTORY
2026-06-04T06:03:51.3864991Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T06:03:51.3865505Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3865523Z 
2026-06-04T06:03:51.3865975Z ### REQ-SEAM-ACTIVITY
2026-06-04T06:03:51.3866904Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T06:03:51.3867393Z - Required stages: impl, unit
2026-06-04T06:03:51.3867411Z 
2026-06-04T06:03:51.3867840Z ### REQ-SEAM-INJECT
2026-06-04T06:03:51.3868660Z - Title: inject-input methods configurable per activity-state
2026-06-04T06:03:51.3869144Z - Required stages: impl, unit
2026-06-04T06:03:51.3869448Z 
2026-06-04T06:03:51.3870051Z ### REQ-SEAM-RESUME
2026-06-04T06:03:51.3871002Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T06:03:51.3871480Z - Required stages: impl, unit
2026-06-04T06:03:51.3871683Z 
2026-06-04T06:03:51.3872160Z ### REQ-SEAM-CAPABILITY
2026-06-04T06:03:51.3872878Z - Title: Hostable endpoint-types capability declaration
2026-06-04T06:03:51.3873414Z - Required stages: impl, unit
2026-06-04T06:03:51.3873431Z 
2026-06-04T06:03:51.3873878Z ### REQ-SEAM-UPDATE
2026-06-04T06:03:51.3874693Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T06:03:51.3875177Z - Required stages: impl, unit
2026-06-04T06:03:51.3875194Z 
2026-06-04T06:03:51.3875616Z ### REQ-API-1
2026-06-04T06:03:51.3876470Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T06:03:51.3876971Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3876987Z 
2026-06-04T06:03:51.3877397Z ### REQ-API-2
2026-06-04T06:03:51.3878501Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T06:03:51.3878996Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3879024Z 
2026-06-04T06:03:51.3879806Z ### REQ-API-3
2026-06-04T06:03:51.3887917Z - Title: commune/signoff are file-drops, not commands
2026-06-04T06:03:51.3888575Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3888633Z 
2026-06-04T06:03:51.3889064Z ### REQ-START-1
2026-06-04T06:03:51.3890493Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T06:03:51.3890981Z - Required stages: impl, unit
2026-06-04T06:03:51.3891000Z 
2026-06-04T06:03:51.3891423Z ### REQ-START-2
2026-06-04T06:03:51.3892091Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T06:03:51.3892602Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3892620Z 
2026-06-04T06:03:51.3893045Z ### REQ-START-3
2026-06-04T06:03:51.3893922Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T06:03:51.3894428Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3894447Z 
2026-06-04T06:03:51.3894861Z ### REQ-START-4
2026-06-04T06:03:51.3895527Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T06:03:51.3896006Z - Required stages: impl, unit
2026-06-04T06:03:51.3896025Z 
2026-06-04T06:03:51.3896442Z ### REQ-EP-1
2026-06-04T06:03:51.3897076Z - Title: Day-one endpoint types; open type system
2026-06-04T06:03:51.3897560Z - Required stages: impl, unit
2026-06-04T06:03:51.3897578Z 
2026-06-04T06:03:51.3897990Z ### REQ-EP-2
2026-06-04T06:03:51.3898830Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T06:03:51.3899361Z - Required stages: impl, unit
2026-06-04T06:03:51.3899379Z 
2026-06-04T06:03:51.3899789Z ### REQ-EP-3
2026-06-04T06:03:51.3900748Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T06:03:51.3901237Z - Required stages: impl, unit
2026-06-04T06:03:51.3901258Z 
2026-06-04T06:03:51.3901662Z ### REQ-EP-4
2026-06-04T06:03:51.3902383Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T06:03:51.3902872Z - Required stages: impl, unit
2026-06-04T06:03:51.3902891Z 
2026-06-04T06:03:51.3903293Z ### REQ-EP-5
2026-06-04T06:03:51.3907566Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-04T06:03:51.3908317Z - Required stages: 
2026-06-04T06:03:51.3908340Z 
2026-06-04T06:03:51.3908763Z ### REQ-INST-1
2026-06-04T06:03:51.3909759Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T06:03:51.3910367Z - Required stages: 
2026-06-04T06:03:51.3910384Z 
2026-06-04T06:03:51.3910803Z ### REQ-INST-2
2026-06-04T06:03:51.3911353Z - Title: Per-node files, synced Psyche mind
2026-06-04T06:03:51.3911838Z - Required stages: impl, unit
2026-06-04T06:03:51.3911859Z 
2026-06-04T06:03:51.3912275Z ### REQ-INST-3
2026-06-04T06:03:51.3912993Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T06:03:51.3913440Z - Required stages: 
2026-06-04T06:03:51.3913458Z 
2026-06-04T06:03:51.3913865Z ### REQ-INST-4
2026-06-04T06:03:51.3914920Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T06:03:51.3915355Z - Required stages: 
2026-06-04T06:03:51.3915384Z 
2026-06-04T06:03:51.3915802Z ### REQ-INST-5
2026-06-04T06:03:51.3916711Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T06:03:51.3917145Z - Required stages: 
2026-06-04T06:03:51.3917164Z 
2026-06-04T06:03:51.3917577Z ### REQ-INST-6
2026-06-04T06:03:51.3918529Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T06:03:51.3918965Z - Required stages: 
2026-06-04T06:03:51.3918982Z 
2026-06-04T06:03:51.3919618Z ### REQ-INST-7
2026-06-04T06:03:51.3920426Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T06:03:51.3920906Z - Required stages: impl, unit
2026-06-04T06:03:51.3920925Z 
2026-06-04T06:03:51.3921330Z ### REQ-INST-8
2026-06-04T06:03:51.3922082Z - Title: Remote-control mode distinct from local operation
2026-06-04T06:03:51.3922557Z - Required stages: impl, unit
2026-06-04T06:03:51.3922586Z 
2026-06-04T06:03:51.3922989Z ### REQ-INST-9
2026-06-04T06:03:51.3923954Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T06:03:51.3924433Z - Required stages: impl, unit
2026-06-04T06:03:51.3924451Z 
2026-06-04T06:03:51.3924866Z ### REQ-INST-10
2026-06-04T06:03:51.3925996Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T06:03:51.3926467Z - Required stages: impl, unit
2026-06-04T06:03:51.3926484Z 
2026-06-04T06:03:51.3926898Z ### REQ-INST-11
2026-06-04T06:03:51.3928027Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T06:03:51.3928821Z - Required stages: impl, unit
2026-06-04T06:03:51.3928841Z 
2026-06-04T06:03:51.3929623Z ### REQ-INST-12
2026-06-04T06:03:51.3931281Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T06:03:51.3931767Z - Required stages: impl, unit
2026-06-04T06:03:51.3931789Z 
2026-06-04T06:03:51.3932208Z ### REQ-INST-13
2026-06-04T06:03:51.3933154Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T06:03:51.3933649Z - Required stages: impl, unit
2026-06-04T06:03:51.3933667Z 
2026-06-04T06:03:51.3934076Z ### REQ-INST-14
2026-06-04T06:03:51.3936322Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T06:03:51.3936762Z - Required stages: 
2026-06-04T06:03:51.3936780Z 
2026-06-04T06:03:51.3937196Z ### REQ-INST-15
2026-06-04T06:03:51.3942199Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-04T06:03:51.3942643Z - Required stages: 
2026-06-04T06:03:51.3942660Z 
2026-06-04T06:03:51.3943076Z ### REQ-REACH-1
2026-06-04T06:03:51.3943780Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T06:03:51.3944272Z - Required stages: impl, unit
2026-06-04T06:03:51.3944316Z 
2026-06-04T06:03:51.3944926Z ### REQ-REACH-2
2026-06-04T06:03:51.3945690Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T06:03:51.3946132Z - Required stages: 
2026-06-04T06:03:51.3946151Z 
2026-06-04T06:03:51.3946559Z ### REQ-MSG-1
2026-06-04T06:03:51.3949319Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-04T06:03:51.3950175Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3950192Z 
2026-06-04T06:03:51.3950599Z ### REQ-MSG-2
2026-06-04T06:03:51.3952091Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T06:03:51.3952567Z - Required stages: impl, unit
2026-06-04T06:03:51.3952587Z 
2026-06-04T06:03:51.3953004Z ### REQ-MSG-3
2026-06-04T06:03:51.3955478Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T06:03:51.3955989Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3956008Z 
2026-06-04T06:03:51.3956458Z ### REQ-NODE-IDENTITY
2026-06-04T06:03:51.3957673Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T06:03:51.3958161Z - Required stages: impl, unit
2026-06-04T06:03:51.3958179Z 
2026-06-04T06:03:51.3958592Z ### REQ-NET-1
2026-06-04T06:03:51.3959761Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T06:03:51.3960420Z - Required stages: impl, unit
2026-06-04T06:03:51.3960437Z 
2026-06-04T06:03:51.3960840Z ### REQ-NET-2
2026-06-04T06:03:51.3961756Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T06:03:51.3962216Z - Required stages: impl
2026-06-04T06:03:51.3962235Z 
2026-06-04T06:03:51.3962635Z ### REQ-NET-3
2026-06-04T06:03:51.3963479Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T06:03:51.3963953Z - Required stages: impl, unit
2026-06-04T06:03:51.3963970Z 
2026-06-04T06:03:51.3964402Z ### REQ-PAIR-1
2026-06-04T06:03:51.3964907Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T06:03:51.3965382Z - Required stages: impl, unit
2026-06-04T06:03:51.3965399Z 
2026-06-04T06:03:51.3965823Z ### REQ-PAIR-2
2026-06-04T06:03:51.3966473Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T06:03:51.3966959Z - Required stages: impl, unit
2026-06-04T06:03:51.3966979Z 
2026-06-04T06:03:51.3967386Z ### REQ-PAIR-3
2026-06-04T06:03:51.3968109Z - Title: Fetch current pairing code from any paired node
2026-06-04T06:03:51.3968591Z - Required stages: impl, unit
2026-06-04T06:03:51.3968608Z 
2026-06-04T06:03:51.3969018Z ### REQ-PAIR-4
2026-06-04T06:03:51.3969578Z - Title: Subnet naming on first pairing
2026-06-04T06:03:51.3970049Z - Required stages: impl, unit
2026-06-04T06:03:51.3970067Z 
2026-06-04T06:03:51.3970517Z ### REQ-PAIR-5
2026-06-04T06:03:51.3972276Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T06:03:51.3972763Z - Required stages: impl, unit
2026-06-04T06:03:51.3972781Z 
2026-06-04T06:03:51.3973203Z ### REQ-PAIR-6
2026-06-04T06:03:51.3974655Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T06:03:51.3975139Z - Required stages: impl, unit
2026-06-04T06:03:51.3975159Z 
2026-06-04T06:03:51.3975584Z ### REQ-PAIR-7
2026-06-04T06:03:51.3976394Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T06:03:51.3976834Z - Required stages: 
2026-06-04T06:03:51.3976851Z 
2026-06-04T06:03:51.3977253Z ### REQ-SEC-1
2026-06-04T06:03:51.3979690Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T06:03:51.3980179Z - Required stages: impl, unit
2026-06-04T06:03:51.3980206Z 
2026-06-04T06:03:51.3980620Z ### REQ-NOTIF-1
2026-06-04T06:03:51.3982800Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T06:03:51.3983392Z - Required stages: 
2026-06-04T06:03:51.3983415Z 
2026-06-04T06:03:51.3983835Z ### REQ-NOTIF-2
2026-06-04T06:03:51.3985337Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T06:03:51.3985773Z - Required stages: 
2026-06-04T06:03:51.3985791Z 
2026-06-04T06:03:51.3986210Z ### REQ-UPD-1
2026-06-04T06:03:51.3986749Z - Title: Peer-propagated update over P2P
2026-06-04T06:03:51.3987191Z - Required stages: 
2026-06-04T06:03:51.3987207Z 
2026-06-04T06:03:51.3987626Z ### REQ-UPD-2
2026-06-04T06:03:51.3988324Z - Title: All binaries signature-verified before handoff
2026-06-04T06:03:51.3988809Z - Required stages: impl, unit
2026-06-04T06:03:51.3988829Z 
2026-06-04T06:03:51.3989263Z ### REQ-UPD-3
2026-06-04T06:03:51.3990301Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T06:03:51.3990795Z - Required stages: impl, unit, int
2026-06-04T06:03:51.3990838Z 
2026-06-04T06:03:51.3991243Z ### REQ-UPD-4
2026-06-04T06:03:51.3992190Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T06:03:51.3992670Z - Required stages: impl, unit
2026-06-04T06:03:51.3992687Z 
2026-06-04T06:03:51.3993103Z ### REQ-UPD-5
2026-06-04T06:03:51.3993771Z - Title: spt-core ripple-updates registered adapters
2026-06-04T06:03:51.3994258Z - Required stages: impl, unit
2026-06-04T06:03:51.3994275Z 
2026-06-04T06:03:51.3994693Z ### REQ-TERM-1
2026-06-04T06:03:51.3995570Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T06:03:51.3996058Z - Required stages: impl, unit
2026-06-04T06:03:51.3996075Z 
2026-06-04T06:03:51.3996482Z ### REQ-TERM-2
2026-06-04T06:03:51.3997426Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T06:03:51.3997912Z - Required stages: impl, unit
2026-06-04T06:03:51.3997940Z 
2026-06-04T06:03:51.3998350Z ### REQ-TERM-3
2026-06-04T06:03:51.3999028Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T06:03:51.3999552Z - Required stages: impl, unit
2026-06-04T06:03:51.3999574Z 
2026-06-04T06:03:51.4000010Z ### REQ-TERM-4
2026-06-04T06:03:51.4002160Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T06:03:51.4002658Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4002676Z 
2026-06-04T06:03:51.4003096Z ### REQ-FRONT-1
2026-06-04T06:03:51.4003987Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T06:03:51.4004436Z - Required stages: 
2026-06-04T06:03:51.4004453Z 
2026-06-04T06:03:51.4004882Z ### REQ-INSTALL-1
2026-06-04T06:03:51.4005893Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T06:03:51.4006341Z - Required stages: 
2026-06-04T06:03:51.4006370Z 
2026-06-04T06:03:51.4006790Z ### REQ-INSTALL-2
2026-06-04T06:03:51.4007464Z - Title: Marketplace-repackaging-friendly install
2026-06-04T06:03:51.4007914Z - Required stages: 
2026-06-04T06:03:51.4007943Z 
2026-06-04T06:03:51.4008364Z ### REQ-INSTALL-3
2026-06-04T06:03:51.4009042Z - Title: Idempotent + interactive-optional first run
2026-06-04T06:03:51.4009512Z - Required stages: 
2026-06-04T06:03:51.4009529Z 
2026-06-04T06:03:51.4009962Z ### REQ-INSTALL-4
2026-06-04T06:03:51.4014031Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-04T06:03:51.4014485Z - Required stages: 
2026-06-04T06:03:51.4014502Z 
2026-06-04T06:03:51.4014932Z ### REQ-MIGRATE-1
2026-06-04T06:03:51.4015798Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T06:03:51.4016245Z - Required stages: 
2026-06-04T06:03:51.4016274Z 
2026-06-04T06:03:51.4016698Z ### REQ-INFRA-1
2026-06-04T06:03:51.4017634Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T06:03:51.4018256Z - Required stages: 
2026-06-04T06:03:51.4018274Z 
2026-06-04T06:03:51.4018688Z ### REQ-DOCS-1
2026-06-04T06:03:51.4019790Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T06:03:51.4020229Z - Required stages: 
2026-06-04T06:03:51.4020256Z 
2026-06-04T06:03:51.4020668Z ### REQ-DOCS-2
2026-06-04T06:03:51.4021494Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T06:03:51.4021928Z - Required stages: 
2026-06-04T06:03:51.4021943Z 
2026-06-04T06:03:51.4022364Z ### REQ-DOCS-3
2026-06-04T06:03:51.4023418Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T06:03:51.4023876Z - Required stages: 
2026-06-04T06:03:51.4023895Z 
2026-06-04T06:03:51.4024319Z ### REQ-DOCS-4
2026-06-04T06:03:51.4025339Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T06:03:51.4025965Z - Required stages: 
2026-06-04T06:03:51.4025981Z 
2026-06-04T06:03:51.4026391Z ### REQ-DOCS-5
2026-06-04T06:03:51.4027428Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T06:03:51.4027903Z - Required stages: 
2026-06-04T06:03:51.4027922Z 
2026-06-04T06:03:51.4028441Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T06:03:51.4029487Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T06:03:51.4029997Z - Required stages: impl, unit
2026-06-04T06:03:51.4030027Z 
2026-06-04T06:03:51.4030560Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T06:03:51.4031317Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T06:03:51.4031799Z - Required stages: impl, unit
2026-06-04T06:03:51.4031816Z 
2026-06-04T06:03:51.4037263Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T06:03:51.4038041Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T06:03:51.4038494Z - Required stages: 
2026-06-04T06:03:51.4038542Z 
2026-06-04T06:03:51.4039040Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T06:03:51.4040121Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T06:03:51.4040632Z - Required stages: impl, unit
2026-06-04T06:03:51.4040654Z 
2026-06-04T06:03:51.4041130Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T06:03:51.4042081Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T06:03:51.4042564Z - Required stages: impl, unit
2026-06-04T06:03:51.4042585Z 
2026-06-04T06:03:51.4043113Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T06:03:51.4044113Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T06:03:51.4044550Z - Required stages: 
2026-06-04T06:03:51.4044567Z 
2026-06-04T06:03:51.4045069Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T06:03:51.4045711Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T06:03:51.4046159Z - Required stages: 
2026-06-04T06:03:51.4046179Z 
2026-06-04T06:03:51.4046692Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T06:03:51.4047545Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T06:03:51.4048040Z - Required stages: impl, unit
2026-06-04T06:03:51.4048070Z 
2026-06-04T06:03:51.4048552Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T06:03:51.4049329Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T06:03:51.4049813Z - Required stages: impl, int
2026-06-04T06:03:51.4049841Z 
2026-06-04T06:03:51.4050355Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T06:03:51.4051180Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T06:03:51.4051668Z - Required stages: impl, unit
2026-06-04T06:03:51.4051686Z 
2026-06-04T06:03:51.4052230Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T06:03:51.4053073Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T06:03:51.4053559Z - Required stages: impl, unit
2026-06-04T06:03:51.4053577Z 
2026-06-04T06:03:51.4054114Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T06:03:51.4055084Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T06:03:51.4055584Z - Required stages: impl, unit
2026-06-04T06:03:51.4055601Z 
2026-06-04T06:03:51.4056391Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T06:03:51.4057178Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T06:03:51.4057669Z - Required stages: impl, unit
2026-06-04T06:03:51.4057691Z 
2026-06-04T06:03:51.4058214Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T06:03:51.4059117Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T06:03:51.4059635Z - Required stages: impl, unit
2026-06-04T06:03:51.4059654Z 
2026-06-04T06:03:51.4060181Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T06:03:51.4061340Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T06:03:51.4061821Z - Required stages: impl, unit
2026-06-04T06:03:51.4061838Z 
2026-06-04T06:03:51.4062299Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T06:03:51.4063688Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T06:03:51.4064334Z - Required stages: impl, unit
2026-06-04T06:03:51.4064352Z 
2026-06-04T06:03:51.4064897Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T06:03:51.4065906Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T06:03:51.4066397Z - Required stages: impl, unit
2026-06-04T06:03:51.4066414Z 
2026-06-04T06:03:51.4066930Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T06:03:51.4068347Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T06:03:51.4068834Z - Required stages: impl, unit
2026-06-04T06:03:51.4068852Z 
2026-06-04T06:03:51.4069398Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-04T06:03:51.4071394Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-04T06:03:51.4071905Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.4071923Z 
2026-06-04T06:03:51.4072471Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T06:03:51.4074803Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-04T06:03:51.4075314Z - Required stages: impl, unit
2026-06-04T06:03:51.4075338Z 
2026-06-04T06:03:51.4075905Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T06:03:51.4076500Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T06:03:51.4076983Z - Required stages: impl, unit
2026-06-04T06:03:51.4077003Z 
2026-06-04T06:03:51.4077502Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T06:03:51.4078131Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T06:03:51.4078612Z - Required stages: impl, unit
2026-06-04T06:03:51.4078630Z 
2026-06-04T06:03:51.4079146Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T06:03:51.4079983Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T06:03:51.4080473Z - Required stages: impl, unit
2026-06-04T06:03:51.4080494Z 
2026-06-04T06:03:51.4080999Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T06:03:51.4081851Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T06:03:51.4082368Z - Required stages: impl, unit
2026-06-04T06:03:51.4082386Z 
2026-06-04T06:03:51.4082912Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T06:03:51.4083640Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T06:03:51.4084120Z - Required stages: impl, unit
2026-06-04T06:03:51.4084138Z 
2026-06-04T06:03:51.4084634Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T06:03:51.4085395Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T06:03:51.4085881Z - Required stages: impl, unit
2026-06-04T06:03:51.4085898Z 
2026-06-04T06:03:51.4086417Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T06:03:51.4087382Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T06:03:51.4087869Z - Required stages: impl, unit
2026-06-04T06:03:51.4087890Z 
2026-06-04T06:03:51.4088360Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T06:03:51.4089428Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T06:03:51.4089908Z - Required stages: impl, unit
2026-06-04T06:03:51.4090125Z 
2026-06-04T06:03:51.4090652Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T06:03:51.4091539Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T06:03:51.4092016Z - Required stages: impl, unit
2026-06-04T06:03:51.4092033Z 
2026-06-04T06:03:51.4092592Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T06:03:51.4093318Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T06:03:51.4093806Z - Required stages: impl, unit
2026-06-04T06:03:51.4093825Z 
2026-06-04T06:03:51.4094387Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T06:03:51.4095558Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T06:03:51.4096048Z - Required stages: impl, unit
2026-06-04T06:03:51.4096066Z 
2026-06-04T06:03:51.4096619Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-04T06:03:51.4100427Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-04T06:03:51.4100937Z - Required stages: impl, unit
2026-06-04T06:03:51.4100957Z 
2026-06-04T06:03:51.4101432Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T06:03:51.4102601Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T06:03:51.4103086Z - Required stages: impl, unit
2026-06-04T06:03:51.4103103Z 
2026-06-04T06:03:51.4103584Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T06:03:51.4104741Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T06:03:51.4105337Z - Required stages: impl, unit
2026-06-04T06:03:51.4105355Z 
2026-06-04T06:03:51.4105876Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T06:03:51.4107383Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T06:03:51.4107891Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4107909Z 
2026-06-04T06:03:51.4108414Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T06:03:51.4109929Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T06:03:51.4110424Z - Required stages: impl, unit
2026-06-04T06:03:51.4110445Z 
2026-06-04T06:03:51.4110992Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T06:03:51.4113593Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-04T06:03:51.4114102Z - Required stages: impl, unit, int
2026-06-04T06:03:51.4114118Z 
2026-06-04T06:03:51.4114648Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T06:03:51.4119357Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-04T06:03:51.4119827Z - Required stages: 
2026-06-04T06:03:51.4119846Z 
2026-06-04T06:03:51.4120408Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T06:03:51.4124655Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-04T06:03:51.4125109Z - Required stages: 
2026-06-04T06:03:51.4125127Z 
2026-06-04T06:03:51.4125655Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T06:03:51.4129427Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-04T06:03:51.4129913Z - Required stages: impl, unit
2026-06-04T06:03:51.4129932Z 
2026-06-04T06:03:51.4130454Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T06:03:51.4133921Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-04T06:03:51.4134558Z - Required stages: impl, unit
2026-06-04T06:03:51.4134576Z 
2026-06-04T06:03:51.4135087Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T06:03:51.4140272Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-04T06:03:51.4140782Z - Required stages: impl, unit
2026-06-04T06:03:51.4140800Z 
2026-06-04T06:03:51.4141301Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-04T06:03:51.4145917Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-04T06:03:51.4146590Z - Required stages: doc, impl, unit
2026-06-04T06:03:51.4146643Z 
2026-06-04T06:03:51.4147088Z ## How to report back
2026-06-04T06:03:51.4147105Z 
2026-06-04T06:03:51.4147992Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T06:03:51.4148013Z 
2026-06-04T06:03:51.4148414Z     {
2026-06-04T06:03:51.4148898Z       "code": "requirement_quality",
2026-06-04T06:03:51.4149433Z       "requirementId": "REQ-...",
2026-06-04T06:03:51.4150331Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T06:03:51.4150810Z       "message": "<short reason>",
2026-06-04T06:03:51.4151396Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T06:03:51.4151794Z     }
2026-06-04T06:03:51.4151810Z 
2026-06-04T06:03:51.4152816Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T06:03:51.4153611Z deterministic findings above don't need to be repeated.
